package org.jeecg.modules.xxgx.common.service;

import com.alibaba.fastjson.JSONArray;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.innerApi.common.requestDto.CurrentFphmParam;
import org.jeecg.modules.innerApi.common.responseDto.CurrentFphmRtn;
import org.jeecg.modules.innerApi.common.responseDto.ZnfmRtn;
import org.jeecg.modules.xxgx.fpgl.dto.XxApifpDownloadDto;
import org.jeecg.modules.xxgx.fpgl.vo.XxApifpDownloadParam;
import org.jeecg.modules.xxgx.kpzdgl.entity.CsXxKpzd;

import java.util.List;

/**
 * 销项基础服务
 */
public interface IXxBase {
    /***
     * 智能赋码
     * @param spmc 商品名称
     */
    Result<List<ZnfmRtn>> znfm(String spmc);
    /***
     * 云抬头检索
     * @param searchName 企业名称
     */
    Result<JSONArray> comSearch(String searchName);
    /***
     * 获取税控、数电纸质发票当前发票号码、发票代码
     * @param param 企业名称
     */
    Result<CurrentFphmRtn.CurrentFphmRtnData> currentFphm(CurrentFphmParam param);
    /***
     * 获取税控、数电开票终端
     * @param nsrmc 企业名称
     * @param nsrsbh 企业税号
     */
    Result<List<CsXxKpzd>> getKpzd(String nsrmc,String nsrsbh);
    /***
     * 获取税控、数电开票终端
     * @param kpzddm 开票终端代码
     */
    Result<CsXxKpzd> getKpzd(String kpzddm);
    /***
     * 数电平台登录
     * @param kpzddm 开票终端代码
     * @param dllx 1：短信验证登录 2：人脸二维码登录 3：税务 app 扫码登录
     * @param verify  二次登录验证值:短信登录，传短信验证码；二维码登录传二维码id
     */
     Result loginDppt(String kpzddm,String dllx,String verify);
    /***
     * 数电实名认证二维码
     * @param kpzddm 开票终端代码
     * @param ermlx 二维码类型：1值为税局 app 二维码 2 获取个人所得税二维码
     */
    Result getSmrzEwm(String kpzddm,String ermlx);
    /***
     * 授信额度查询
     * @param kpzddm 授信额度查询
     */
    Result getCredit(String kpzddm);

    Result<XxApifpDownloadDto> fpDownload(XxApifpDownloadParam param);
}
